<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>父子通信-子向父传</title>
</head>
<body>
    <script src='/js/vue.js'></script>
    <div id='app'>
        <!-- 父向子传递数据时 通过props properties：子组件通过props接受父组件的传递数据 父组件通过v-bind传递数据 -->
        <!-- 子向父传递数据时 自定义事件$emit函数 发射 -->

        <cpn @item-click="cpnClick($event)"></cpn>

        <p>{{msg}}</p>
    </div>
    <template id="cpn">

    </template>

    <script>

        const cpn = {
            template:'#cpn',
            data(){
                return{
                    categories:[
                        {
                            id:'aaa',
                            name:'热门推荐'
                        },{
                            id:'bbb',
                            name:'京东家电'
                        }
                    ]
                }
            },
            methods:{
                btnClick(item){
                    //子组件通过$emit函数 向父组件发送自定义事件
                    //这里this代表子组件
                    this.$emit('item-click'/*第一个参数 传递的名称 */,item/*第二个参数 传递的值*/)
                }
            }
        }

        let app = new Vue({
            el:'#app',
            data:{
                msg:'hello word'
            },

            components:{
                //对象增强写法 key值就是对象的名 value值也是对象的值
                
            
            }

        })
    </script>
</body>
</html>